Providing display content using RFID tags in geo-fenced zones

ABSTRACT

Certain aspects involve systems and methods for providing display content using RFID tags in geo-fenced zones. One example method includes processing devices that perform operations that include scanning radio-frequency identification (RFID) tags in a geo-fenced zone. The RFID tags correspond to a plurality of items. Further, the operations include retrieving a marketing campaign associated with the plurality of items. The marketing campaign comprises rules based on inventory information. In addition, the operations include determining the inventory information for the plurality of items based on the RFID tags. The operations further include selecting an item from among the plurality of items based on a rule associated with the marketing campaign. The rule is based on the inventory information. Additionally, the operations include generating display content based on the item.

TECHNICAL FIELD

This disclosure relates generally to targeted display content usingradio-frequency identification (RFID) tags. More specifically, but notby way of limitation, this disclosure relates to providing displaycontent using RFID tags in geo-fenced zones.

BACKGROUND

Certain display programs include features for determining content thatis derived based on geo-fences. Geo-fences are geographical boundariesthat allow end users to receive location-based services. As one example,geo-fenced zones can be used to facilitate location-based notificationsto end users. These notifications can include information related tomarketing campaigns, strategies, promotions, advertisements, coupons,product availability, services, or other related items. Geo-fencing canbe used for many different applications, such as, but not limited to,marketing, subscriptions, communications, inventory, productivity,transportation, workflow, and other location-based services.

Some existing computing systems may create and/or provide displaycontent to digital signage, for example, in a retail environment.However, information used by some of these computing systems may quicklybecome stale as relevant conditions change within the applicableenvironment. This is especially true in a retail environment that caninclude a highly dynamic product layout. Frequent changes, e.g., duringseasonal sales, may cause products to be moved around the retailenvironment and inventory levels to fluctuate.

Digital signage positioned throughout the environment will need to beupdated to reflect information about products located near the signage;otherwise the display content will not be relevant to nearby productsand therefore will not be helpful to customers. Prior art systems forgenerating display content for digital signage can therefore beinefficient and incapable of being updated in realtime to reflectdynamic conditions within the vicinity of the digital signage. Suchsystems require manual updates of the information used to generaterelevant display content, which may cause the display content to lagbehind real-time environmental conditions.

Some conventional systems include the various inefficiencies describedabove, which may also be exacerbated by densely populated areas ofusers. For example, many conventional systems define virtual boundariesaround densely populated areas to ensure that a large number of peoplereceive a given targeted display content. But such densely populatedareas typically involve a trade-off, generally, the more nearby usersthat are present, the less targeted the display content may be, e.g.,based on changing marketing campaigns, a presence of new users,processing inefficiencies related to the creation of the displaycontent, etc. As a result, nearby users may become desensitized ordisinterested in the targeted display content, and as a consequence,users may ignore subsequent display content. Thus, aspects describedherein solve these problems by improving computer-implemented processesperformed by providing display content using RFID tags in geo-fencedzones for a particular site location.

SUMMARY

Certain aspects involve providing display content to an end user usingRFID tags in geo-fenced zones. For instance, aspects described hereincan generate display content based on one or more RFID tags detectedwithin a geo-fenced zone. One example method includes one or moreprocessing devices that performs operations including scanning RFID tagsin a geo-fenced zone. The RFID tags correspond to a plurality of items.Display content provided on digital signage within or proximate to thegeo-fenced zone can be made to correspond to the items identified by theRFID tags. Further, the operations include retrieving a marketingcampaign associated with the plurality of items. In addition, theoperations include determining inventory information for the pluralityof items based on the RFID tags. The operations further includeselecting an item from among the plurality of items based on a ruleassociated with the marketing campaign. The rule is based on theinventory information. Additionally, the operations include generatingdisplay content for the digital signage based on the item.

These illustrative examples are mentioned not to limit or define thedisclosure, but to aid understanding thereof. Additional aspects arediscussed in the Detailed Description, and further description isprovided there.

BRIEF DESCRIPTION OF THE DRAWINGS

Features, aspects, and advantages of the present disclosure are betterunderstood when the following Detailed Description is read withreference to the accompanying drawings.

FIG. 1 depicts a simplified example computing environment for providingdisplay content using RFID tags in geo-fenced zones, according tocertain aspects of this disclosure.

FIG. 2 depicts an example computing environment for providing displaycontent using RFID tags in geo-fenced zones, according to certainaspects of this disclosure.

FIG. 3 depicts another example computing environment for providingdisplay content using RFID tags in geo-fenced zones, according tocertain aspects of this disclosure.

FIG. 4 depicts another example computing environment for providingdisplay content using RFID tags in geo-fenced zones, according tocertain aspects of this disclosure.

FIG. 5 depicts yet another example computing environment for providingdisplay content using RFID tags in geo-fenced zones, according tocertain aspects of this disclosure.

FIG. 6 depicts an example of a process for providing display contentusing RFID tags in geo-fenced zones, according to certain aspects ofthis disclosure.

FIG. 7 depicts another example of a process for providing displaycontent using RFID tags in geo-fenced zones, according to certainaspects of this disclosure.

FIG. 8 depicts an example of a computing system for implementing one ormore aspects of this disclosure.

DETAILED DESCRIPTION

As described herein, certain aspects provide improvements to computingsystems used for providing display content. For instance, existingcontent display techniques can involve a retail environment with ahighly dynamic product layout. These product layouts may changefrequently, especially during seasonal sales, where products are movedaround to increase visibility. Some retailers may use expensivemarketing campaigns, e.g., using email newsletters, websites, or mobileapps, etc.

While digital signage may be easier to synchronize with marketingcampaigns, existing solutions do not have access to information aboutwhich products are in their immediate vicinity, especially when variousproducts sell, may be out of stock, or shelves are moved around duringthe week. This lack of awareness makes it hard to keep relevant contentdisplayed on digital signage. In addition, content authors are nottypically in-touch with any particular retail location, so manyretailers end up re-running generic display content.

The combined effect of these problems is a poor end user experiencecaused by product layouts and digital signage that are frequentlymismatched, unrelated, and out-of-sync. Providing up-to-date displaycontent can be a time-consuming and expensive task that involvesdifferent people or entities, each of whom may not be on-site. Thus,aspects described herein improve computer-implemented processesperformed by providing display content based on RFID tags in geo-fencedzones for a site location.

Certain embodiments of the invention involve the use of RFID tags todetermine product availability, an end user's presence information,product recommendations, a user profile, or a combination of these. Forexample, certain aspects leverage UHF RFID antennas to scan RFID tagsattached to, or otherwise associated with, products in a geo-fenced zone(e.g., a virtual perimeter circumscribing a multidimensional area) of alocation. These RFID tags can be used to extract the 5-10 top products(or some other subset of the total number of products) that have themost occurrence in that area at any point in time. In addition, certainaspects provide dynamically run targeted context-aware digital signageor marketing campaigns that focus on these top products.

As a non-limiting example, a RFID antenna may be strategically placed ina section of a location, such as a store or other building. The RFIDantenna may be strategically placed based on a reception radius aroundor a range of the RFID antenna. The RFID antenna receives signals fromall of the RFID tags for products in the section of the retail store.The signals received from the RFID tags can include information aboutthe products, such as identifying information.

A processing system receives the RFID tag information associated withproducts from the RFID antenna. The processing system determinesinventory information based on the RFID tags. For example, each RFID tagmay be coded with information, which may include a serial number, UPC,or SKU associated with a particular product (e.g., a specific model,type, category, brand, item number, related product, etc.). In thisexample, the processing system uses the received RFID tags to determinea count of a number of like products. For example, the processing systemcan determine the count by identifying products having the same productmodel number based on signals received from each of their correspondingRFID tag.

In addition, the processing system uses the count to determine the topproducts in the section. For instance, the processing system maydetermine the top 5 products for the section using an applicationprogramming interface (API). The processing system may retrieve amarketing campaign for the top 5 products based on the inventoryinformation. For example, the processing system may retrieve the top 5products for a sporting goods section of a retail store, for example,for a top 5 products that is based on the most occurrences in thesection.

As a simplified example, the processing system may determine the top 5products includes 5 different types of sports balls. In this example,the processing system sorts the top 5 products in a descending order,e.g., ordering the sports balls from most to least prevalent. Forinstance, the top 5 products may include 23 basketballs, 17 baseballs,13 footballs, 12 volleyballs, and 9 tennis balls. Further, theprocessing system may exclude some sporting good balls based oninventory information indicating fewer occurrences than each of the top5 sports balls (e.g., 4 lacrosse balls, 3 kickballs, 2 softballs, etc.).In some examples, the processing system may exclude certain types ofsports balls based on one or more parameters. For example, theprocessing system may exclude 2000 golf balls because they may only besold in bulk packages of 50 or 200. In other examples, the processingsystem may determine a top 5 products based on units (e.g., includingmulti-packages) instead of individual inventory items.

The processing system determines the display content needs to beupdated. For example, the processing system may determine that thecurrent display content is missing display content for a top 5 productsthat should be included in the display content (e.g., based on theapplied rules). In response, the processing system can change thecurrent display content that is output by the display device to includerelevant display content based on the marketing campaign. In someexamples, a relevance of the display content may be based on topproducts, inventory information, marketing campaigns, campaign rules,user profiles (e.g., potential customers in the vicinity of the displaydevice), etc.

The processing system generates the display content based on themarketing campaign. The processing system can send the display contentto a display device. For example, the processing system may be inelectrical communication with the display device. The display deviceoutputs the display content from the processing system, which mayinclude, for example, content of interest provided to digital signagefor products in the section of the retail store.

In one example, a user enters a retail store that includes theprocessing system above and is currently using digital signage to runvarious advertisements for winter clothing items and accessories. Forexample, the processing system may determine that one section of theretail store has a large quantity of red winter coats. In response, theprocessing system can generate a targeted advertisement for potentialcustomers in the vicinity of the digital signage (e.g., in that section)that includes a video ad for red winter coats and related accessories.

In this example, the processing system regularly polls the RFID antennafor the section to scan a repositioning of inventory items or changes ininventory information. In some examples, the processing system canreplace an advertisement in response to changes in location of an item,rack, shelving, etc. But in this example, the processing system receivesnew polling from the RFID antenna and determines an inventory count forred winter coats has diminished. Further, the processing systemdetermines that blue winter coats are now the winter clothing item withthe most occurrences in the section. In response to the updatedinventory information, the processing system generates a video ad forblue winter coats and accessories that replaces the video ad for redwinter coats on the digital signage in that section.

As used herein, a “geo-fenced zone” refers to a geographic regiondemarcated by a virtual boundary or perimeter. A virtual boundary of ageo-fenced zone can be defined as the locations and positions of walls,structures, buildings, addresses, zip codes, latitude and longitudecoordinates, and/or the reception range of an antenna, scanner, orreader, etc. In one or more embodiments, a boundary of a geo-fenced zonerefers to a boundary defined by the range or reception area of a RFIDantenna. Alternatively, in one or more embodiments, the virtual boundaryof a geo-fenced zone may be defined by a proximity to a fixed or movingpoint, such as a physical range of a wireless network (e.g., WiFinetwork), base station, one or more RFID tags, or another system havinga fixed or variable range.

As used herein, a “geo-fence system” refers to a computing andcommunication based system that defines a geo-fenced zone and tracksdevices as they cross the geo-fence boundary. Device positions relativeto the geo-fenced zone can be detected using location based servicesenabled by GPS, radio-frequency, WiFi, Bluetooth and other protocolsthat can be used to determine the physical location of the device.

As used herein, a “RFID antenna” refers to an antenna that is capable ofreceiving and transmitting a signal that includes RFID tag information.RFID antennas receive RFID tag information by scanning or detecting RFIDtags. Some RFID antennas can scan or detect RFID tags within a givenrange or radius. Examples of RFID antennas may include a linearpolarization, circular polarization, monostatic circular, bistaticcircular, dipole, crossed dipoles, helix, patch, loop, one-turn,multi-turn, decibel (dB), low frequency (LF), high frequency (HF),ultra-high frequency (UHF), active, passive, batter-assisted passive(BAP), or another type of RFID antenna.

As used herein, a “RFID reader” refers to a computing and communicationbased device that receives RFID tag information. RFID readers receiveRFID tag information from RFID signals that are obtained by RFIDantennas. RFID readers may house or be remotely located from a RFIDantenna. RFID readers may be passive (e.g., capable of receiving RFIDtag information from RFID tags that actively emit an RFID signal) oractive (e.g., capable of receiving RFID tag information from RFID tagsby emitting an RFID signal to interrogate nearby RFID tags). One exampleof a passive RFID reader is a passive reader active tag (PRAT) system.Examples of active RFID readers include an active reader passive tag(ARPT) system, active reader active tag (ARAT) system, or abattery-assisted passive (BAP) tag system. RFID readers may include oneor more sensors (e.g., RFID sensors, GPS sensors, etc.), RFID antennas,types of RFID antennas, smart antennas, transcoders, transceivers,communication interfaces, firmware, etc.

As used herein, “inventory information” refers to information associatedwith one or more inventory items, such as products. Informationassociated with one or more inventory items may include information suchas a count, type, classification, location, model, category, brand, andattributes, such as color, size and style, related items, associatedevents, etc. In one or more embodiments, inventory items can beidentified using a barcode, serial number, universal product code (UPC),or stock-keeping unit (SKU).

As used herein, a “marketing campaign” refers to one or more forms ofmedia content and delivery mechanisms that is strategically organized toachieve a specific goal. A marketing campaign can be defined accordingto a length of time, a location, an agenda, a particular events, anappearance, etc. In one or more embodiments, a marketing campaign caninclude content, such as an advertisement that promotes an item or aproduct using one or more types of media (print, audio, audiovisual,visual, email, SMS messages, etc.). Alternatively, in one or moreembodiments, the marketing campaign may include an interactive platform,such as an online platform, marketing demonstration, survey, interactivevideo, etc.

As used herein, a “display content” refers to one or more forms of mediagenerated for display. Display content can be defined by a media type,format, display medium, etc. In one or more embodiments, display contentrefers to content of interest. For example, display content may becontent of interest to a user or an entity and can be provided todigital signage associated with a marketing campaign. Alternatively, inone or more embodiments, the display content may be defined by adata-triggered channel, an application (e.g., an AEM Screensapplication), a trigger or another timing element, an image, a video, atemplate, an existing content item, an initial content item, a layout, astructure, etc. Further, in one or more embodiments, the display contentmay include a time of day, marketing campaign, inventory information,user interactions, etc., or a combination of these.

As used herein, a “user profile” refers generally to informationassociated with one or more user traits, demographics and/or observableactivities performed by a user. For example, a user profile may includeinformation related to activities performed on a client device, e.g.,while using a user application operating on the client device. A userprofile may include information associated with these observableactivities, which may include, but is not limited to, one or more userinputs, a location of a client device, a time of the activity, abrowsing history, a purchase history, a user preference, a like, adislike, other information associated with the user, an activityperformed by the user, etc., or a combination of these. A user profilecan further include information accessible to a user application such asone or more user permissions, images, purchase information, contacts,etc. As used herein, a user profile can refer to information associatedwith a plurality of activities performed by a user using a plurality ofclient devices and/or using a plurality of user applications.

As used herein, “personalized content” refers to display contentassociated with a user. Display content associated with a user can bedefined based on a user profile. In one or more embodiments,personalized content refers to a marketing campaign tailored to theuser.

Example Operating Environments for Providing Display Content Using RFIDTags in Geo-Fenced Zones

Referring now to the drawings, FIG. 1 depicts an example computingenvironment 100 for providing display content based on using RFID tagsin geo-fenced zones (e.g., sections 118, 120). The computing environment100 includes a display device 130 that is communicatively coupled to ageo-fence system 108. The geo-fence system 108 includes a set ofcommunicatively coupled components that can send and receiveinformation, which is used to generate display content. The geo-fencesystem 108 may include one or more sensors, such as RFID readers 132.

For example, the geo-fence system 108 includes a RFID reader 132 andprogram code for rendering content for display (e.g., via display device130). In some examples, rendering content for display may includerendering product or advertising content for display on digital signage(e.g., via display device 130) for a marketing campaign. Geo-fencesystem 108 can be implemented using one or more servers, platforms,cloud infrastructure, and the like.

In the example computing environment 100 depicted in FIG. 1 , thegeo-fence system 108 receives data from a RFID antenna 104. The RFIDantenna 104 may be strategically placed in a location corresponding tothe example computing environment 100. The RFID antenna 104 may scanRFID tags associated with one or more products 126 (each with a RFIDtag), 128 (each with a RFID tag). The geo-fence system 108 receives datafrom the RFID antenna 104, e.g., using an RFID reader 132 and determinesall of the products (e.g., products 126) nearby based on the RFID tagsassociated with the products 126 that are present in section 118 of thelocation.

In this example, the display 130 shown in FIG. 1 includes displaycontent (e.g., advertisement 102) that corresponds to a person standingadjacent to luggage and three cylindrical standing duffel bags 126, eachof which is outfitted with an RFID tag. In this example, geo-fencesystem 108 may have previously sent instructions to the display 130 toshow ad 102 based on one or more scanned products 126 nearby. Forinstance, the nearby products 126 may include the same brand and/ormanufacturer as is being displayed via ad 102. In this example, the ad102 represents the current display content that is being output to thedisplay device 130.

In this example, the geo-fence system 108 determines there is morerelevant display content available. For example, the geo-fence system108 may determine that ad 102 now includes less relevant display contentthan ad 112, e.g., based on a sensor signal from a sensor. In thisexample, the geo-fence system 108 may use the RFID reader 132 to send aninterrogation signal to the RFID antenna 104 that causes the RFIDantenna 104 to interrogate nearby RFID tags (e.g., the RFID tagsassociated with products 128 in section 120). The RFID antenna 104interrogates (e.g., scans or senses) RFID signals emitted the nearbyRFID tags, e.g. the RFID tags associated each of the products 128, andsends these RFID signals to the RFID reader 132. In some examples, theRFID reader 132 may include or otherwise be in communication with one ormore RFID antennas 104.

The geo-fence system 108 receives the RFID signals from the RFID antenna104 via RFID reader 132. Further, the geo-fence system 108 may determinethat more relevant display content is available based on the RFID taginformation from the RFID signals associated with products 128. Forexample, the ad 112 shown in FIG. 1 represents display contentassociated with products 128 (e.g., a smaller bag, briefcase, laptopbag, case, fashion handbag, etc.) that is different from the displaycontent associated with products 126 shown in ad 102. In some examples,the geo-fence system 108 may determine relevance based on a marketingcampaign, top products, inventory information, campaign rules, apresence of a user, etc., or a combination of these.

For illustrative purposes, FIG. 1 depicts a simplified computingenvironment 100 having a geo-fence system 108. But the geo-fence system108 can include any number of systems, sub-systems, or program code(s)to generate display content, including digital signage for one or moremarketing campaigns. Further, any number or type of images may begenerated for display devices 130 with the geo-fence system 108.

FIG. 2 depicts an example computing environment 200 for providingdisplay content using RFID tags in geo-fenced zones. The computingenvironment 200 includes a display device 230 that is communicativelycoupled to a geo-fence system 208 via data network 202. The geo-fencesystem 208 includes a set of communicatively coupled components that cansend and receive information, which is used to generate display content.These components include an analytics engine 210, Web API 212, userdatabase 218, marketing system 222, and RFID reader 232. Further,marketing system 222 includes a personalization engine 214, contentgeneration engine 216, and marketing campaign database 220. Inadditional or alternative embodiments, a geo-fence system 208 and amarketing system 222 could be implemented in separate, independentlyoperated computing systems that are communicatively coupled directly orindirectly via a data or other communication network. The geo-fencesystem 208 is also in communication with asset management server 224 andclient device 206, e.g., via data network 202.

The geo-fence system 208 includes a RFID reader 232 and program code foran analytics engine 210, Web API 212, personalization engine 214, andcontent generation engine 216. For instance, the content generationengine 216 can include program code for rendering content for display,creating instances of event listeners or other suitable objects forreceiving input from input devices (e.g., client device 206, mouse,touchscreen, etc.), and generating or displaying digital signage for amarketing campaign. The geo-fence system 208, as well as each engine,can be implemented using one or more servers, platforms withcorresponding APIs, cloud infrastructure, and the like.

Examples of a client device 206 include, but are not limited to, atablet, phablet, cell phone, smartphone, smart watch, gaming device,mobile device, IoT device, personal computer, desktop, server,processing unit, a combination of these devices, or any other suitabledevice having a processor. An end user 204 of client device 206 usesvarious products, applications, or services supported by the geo-fencesystem 208. Each of the client devices 206 are communicatively coupledto geo-fence system 208 via data network 202. Examples of the datanetwork 202 include, but are not limited to, Internet, local areanetwork (“LAN”), wireless area network, wired network, wide areanetwork, and the like.

In the example computing environment 200 depicted in FIG. 2 , thegeo-fence system 208 receives data from a RFID antenna. The RFID antennamay be strategically placed in a section of a location corresponding tothe example computing environment 200. The RFID antenna may bestrategically placed based on a predetermined radius to scan RFID tagsfor products in the section. For example, the RFID antenna receivesradio frequency (RF) signals by scanning RFID tags that are associatedwith the products 226 and products 228.

In this example, the products 226 shown in FIG. 2 represent luggage thatincludes, e.g., a suitcase adjacent to three cylindrical standing duffelbags. In this example, the products 226 includes the same brand and/ormanufacturer. Further, the products 228 shown in FIG. 2 represent aproduct display (e.g., shelving) for smaller bags, which may includefour briefcases, laptop bags or cases, fashion handbags, etc. Each ofthe products 226, 228 includes a RFID tag that emits a RF signalassociated with the respective product. For example, these RF signalsmay include information such as encoding, printing, product, branding,pricing, identification, tracking, security, timing, or another type ofinformation.

The geo-fence system 208 receives data from the RFID antenna, e.g.,using the RFID reader 232. The RFID reader 232 reads or scans all of theRFID tags for products 226, 228 in the section of the location. Onceobtained, the RFID reader 232 sends all of the RFID tags to theanalytics engine 210.

The analytics engine 210 receives the RFID tags from RFID reader 232 anddetermines a count of similar products 226, 228. For example, theanalytics engine 210 can compile a count of products 226, 228 in theform of inventory information. Further, the analytics engine 210 candetermine the top products available in the section of the location. Insome examples, the analytics engine 210 determines the top 5, 10, or anysuitable number of products for the section based on the inventoryinformation. In this example, the analytics engine 210 sends the top 2products 226, 228 to the web API 212.

The web API 212 receives the top products 226, 228 from the analyticsengine 210. In some examples, the web API 212 is a RESTful API. Forexample, the RESTful API may include a stateless session state,cacheable requests, uniform interface, layers, executable code in anapplet or script, or a combination of these. Advantageously, the RESTfulAPI may consume fewer valuable network resources (e.g., requiring lessstorage and bandwidth for frequent requests, such as updates for thelatest marketing campaigns). The web API 212 uses the top products 226,228 to retrieve a marketing campaign from the marketing campaigndatabase 220. For example, the web API 212 may retrieve the marketingcampaign that is associated with one or more of the top 2 products 226,228.

In some examples, the web API 212 may request the marketing campaignfrom asset management server 224. Further, the asset management server224 may be remotely located and may include marketing information forone or more sites or locations. For example, the asset management server224 may be associated with one or more retail locations, chainrestaurants, hotel or resort franchises, casino companies, etc. And insome examples, the asset management server 224 may include marketinginformation for marketing campaigns that can be targeted using local,regional, national, international, or global communication strategies.

In this example, the geo-fence system 208 uses marketing system 222 todetermine the current display content output to the display device 230.In some examples, the marketing system 222 determines current displaycontent, which may include a marketing campaign, e.g., from themarketing campaign database 220. But in this example, the marketingsystem 222 uses a personalization engine 214 to obtain inventoryinformation and the top 2 products 226, 228 from the analytics engine210, web API 212, or both.

The personalization engine 214 determines the current display contentoutput to the display device 230 does not include the marketing campaignfor a top 2 product 226 or 228 in the section. In response, thepersonalization engine 214 determines the display content output to thedisplay device 230 should be changed. For example, the personalizationengine 214 may send instructions to the content generation engine 216 tochange the display content based on the inventory information, marketingcampaign, top 2 products, or a combination of these. In some examples,the personalization engine 214 may have capabilities such as those ofAdobe® Experience Manager (AEM), e.g., which may include automated toolsfor creating and managing various digital content, assets, communicationforms or protocols, etc.

The content generation engine 216 receives the instructions from thepersonalization engine 214 and can change the display content that isoutput by the display device 230 to include relevant display content. Insome examples, the relevance of the display content may be determined bythe content generation engine 216. For example, the relevance may bebased on top products, inventory information, marketing campaigns,campaign rules, user profiles (e.g., potential customers in the vicinityof the display device), or a combination of these. Further, the contentgeneration engine 216 may determine an arrangement or an order of thedisplay content based on the determined relevance of the displaycontent.

In this example, the geo-fence system 208 provides display content to beoutput by display device 230. The geo-fence system 208 is in electricalcommunication with the display device 230. The geo-fence system 208 canuse the content generation engine 216 to generate the display content.The display content may include, for example, digital signage forproducts in the section of the location (e.g., products 226, 228). Inthis example, the content generation engine 216 determines the displaycontent includes marketing campaigns for one or more of the top 2products in the section (e.g., products 226, 228). In response, thegeo-fence system 208 transmits the display content to the display device230.

The display device 230 may include a processor and program code that isexecutable by the processor. For example, the display device 230includes program code for a content playback engine 234. The contentplayback engine 234 is an intelligent application that can leveragedisplay content, e.g., provided by the personalization engine 214 and/orcontent generation engine 216. In some examples, the content playbackengine 234 can dynamically switch display content for assets (e.g.,products 226, 228) based on instructions from a remote computing devicesuch as the asset management server 224. Further, the content playbackengine 234 can dynamically switch display content that is local to asingle display 230, instead of multiple displays 230 and/or clientdevices 206.

In some examples, the display content may include personalized displaycontent, which may be displayed to the end user 204 as they approach thedisplay device 230. As described below, with regard to examples in FIG.4 , a proximity of the end user 204 may be used to determine varioususer preferences and display content that is of particular interest tothe end user 204, e.g., as they walk by a section. The personalizeddisplay content may be based on a user profile, preference, presence,proximity, etc.

For example, the geo-fence system 208 may output personalized displaycontent based on information associated with a scanned RFID tag (e.g.,RFID tag information for a mobile application associated with clientdevice 206), a near-field communication (NFC) enabled client device 206,or other presence information (e.g., multiple points of presence (MPOP),instant message and presence protocol (IMPP), session initiationprotocol for instant messaging and presence leveraging extensions(SIMPLE), extensible messaging and presence protocol (XMPP), etc.). Inone example, the client device 206 may be a smartphone that includes NFCcapabilities (e.g., NFC Type 5 Tags), which can be scanned by certaintypes of RFID antennas (e.g., HF or UHF RFID scanners). The geo-fencesystem 208 may output the personalized display content to the clientdevice 206, display device 230, another client device, etc.

In one example, the display device 230 receives display content with amarketing campaign that includes an ad sequence. For instance, displaycontent may include a designed ad sequence that includes four handbagscorresponding to products 228 (e.g., handbag 1, handbag 2, handbag 3,and handbag 4). In this example, the designed ad sequence is orderedsequentially, first displaying handbag 1, then handbag 2, followed byhandbags 3 and 4. But in this example, the ad sequence also includesalternative versions of handbag 2 (e.g., handbag 2 a and handbag 2 b).In some examples, handbags 2 a and 2 b may be versions of handbag 2 thatinclude different colors, sizes, materials, zippers, fasteners, straps,compartments, accents, storage, tracking technologies, inserts, clasps,fasteners, hardware, other features, etc.

In this example, the content playback engine 234 receives instructionsfrom the marketing system 222 (e.g., via the personalization engine 214and/or content generation engine 216) to modify the display content bysubstituting the ad for handbag 2 with an ad for handbag 2 a. Further,the content playback engine 234 can change the display content byswitching the order of the ads. In some examples, the content playbackengine 234 may modify or alter the display content based on locallycached display content. In additional or alternative embodiments, thecontent playback engine 234 can change display content when instructionsare pushed down from a remote computing device (e.g., geo-fence system208, marketing system 222, asset management server 224). Further, thesechanges may be sent in response to one or more changes to inventoryinformation, campaigns, rules, etc. And in some examples, the contentplayback engine 234 may modify or alter display content based onpre-existing versions that were pre-pushed to the display device 230.

Pre-pushed ads or other display content can provide added flexibility,enabling the display device 230 and/or content playback engine 234 toswitch ads locally, e.g., based on external rules and using cacheddisplay content. Advantageously, caching pre-pushed display content maysave valuable network resources (e.g., bandwidth), while also providinga more responsive technique for ad switching. For example, the displaydevice 230 may use content playback engine 234 to switch an ad locallyfor display content that includes personalized display content fasterand more efficiently because an amount of time required to download anew JavaScript Object Notation (JSON) rule-set may be significantly lessthan an amount of time required to download new display content (e.g.,HD, HDR, 4K, 8K, etc. display content).

For illustrative purposes, FIG. 2 depicts a geo-fence system 208 havinga marketing system 222. But the geo-fence system 208 can include anynumber of systems, sub-systems, or program code(s) to generate displaycontent, including content of interest provided to digital signage forone or more marketing campaigns. Further, any number or type of imagesmay be generated for client devices 206 or display devices 230 with thegeo-fence system 208.

FIG. 3 depicts another example computing environment 300 for providingdisplay content using RFID tags in geo-fenced zones, according tocertain aspects of this disclosure. In this example, the computingenvironment 300 includes a location 302, which includes geo-fenced zonesrepresented by sections 308, 310, 312, 314, 316, 318, 320, 322, 324, and326. And in this example, an end user 304 has a client device 306 and isstanding in the section 318 of the location 302. In some examples,client device 306 may perform substantially similar functions to thosedescribed above, with respect to client device 206 described in FIG. 2 .Further, the example computing environment 300 may also include anetwork, geo-fence system, marketing system, asset management server,products, display, another component, or any of the components describedabove with regard to FIG. 2 .

In this example, the location 302 illustrates spatial relationships,e.g., between the end user 304, having a client device 306 and beinglocated in the section 318 and a proximity to the section 320. Forinstance, each of the sections 308-326 may represent a particulargeo-fenced zone. As described in greater detail below, a geo-fencesystem may determine display content based on a number of parameters.And in some examples, the geo-fence system may determine the displaycontent based on spatial relationships, e.g., between the end user 304,client device 306, products, a RFID antenna, sections (e.g., sections318, 320).

For instance, each of the sections 318, 320 (e.g., similar to sections418, 420 and sections 518, 520 described below) may have an overall size(e.g., three dimensional (3D), volumetric, footprint, two dimensional(2D), or other geometric measure), which can be used to determine astrategical placement of the RFID antenna. In some examples, theplacement of the RFID antenna may be based on a scanning capability.

For example, the geo-fence system may select an overall size of each ofthe sections 308-326 based on a RFID range (e.g., a maximum read or scandistance) for the RFID antenna placed in that section. In some examples,the RFID antenna may capable of scanning a 3-5 meter radius. Thegeo-fence system may determine the strategic placement for RFID antennausing existing boundaries (e.g., walls, product sections, shelving,etc.), the RFID antenna's capabilities (e.g., range), etc. In someexamples, the geo-fence system selects the strategic placement for RFIDantenna to ensure an ability to scan all RFID tags within the area.

For example, the strategic placement may selected, e.g., using acentroid, near-centralized position, midpoint along a wall that isadjacent to the section, another relative point along 2D boundariesassociated with the geo-fenced zone or section, etc. Further, thestrategic placement may include 3D considerations, such asline-of-sight, electrical interference, total number of items, etc.These 3D considerations may be used by the geo-fenced system for astrategic placement that includes an elevated position (e.g., on aceiling or adjacent wall).

In some examples, each of the sections 308-326 may correspond to adifferent section of a retail store (e.g., an appliances, electronics,health and beauty, home decor, men's clothing, perfume counter, seasonalitems, snack bar, sporting goods, stationary, toys, women's clothing, oranother retail section, etc.). In other examples, sections 308-326 canrepresent sections of an event, including sections for autographs,boards, classes, communities, conferences, courses, meetings,merchandisers, rooms, talks, theatre, vendors, etc. Further, sections308-326 can include sections of a hotel or a casino. For example,sections 308-326 may be sections of a casino such as a cage, club, highlimit card game or room, lobby, poker table, private room, restaurant,roulette, slot machine, sports book, table game, etc.

FIG. 4 depicts another example computing environment 400 for providingdisplay content using RFID tags in geo-fenced zones, according tocertain aspects of this disclosure. In this example, the computingenvironment 400 includes a location 402 that includes a geo-fence system408. The geo-fence system 408 includes an analytics engine 410, Web API412, a personalization engine 414, and a content generation engine 416.The location 402 is shown having geo-fenced zones represented byadjacent sections 418 and 420. Further, a client device 406 is presentin the section 418 of the location 402. In some examples, each of thecomponents of system 400 may perform substantially similar functions tothose described above, with respect to substantially similar counterpartcomponents described in FIGS. 1 and 2 . In this example, the clientdevice 406 is located in the section 418 and is in the vicinity (e.g.,proximate to) a RFID antenna 404, display devices 430, 432, products434, 436, 438, and 380. Further, the RFID antenna 404, client device406, and display devices 430, 432 may be in wired and/or wirelesscommunication with the geo-fence system 408.

In this example, the geo-fence system 408 determines top products 422.Further, the geo-fence system 408 uses top products 422, marketingcampaigns (e.g., campaigns 424), and campaign rules (e.g., rules 426) todetermine display content. For example, the geo-fence system 408determines results 428 based on top products 422, campaigns 424, andrules 426. The geo-fence system 408 can execute content generationengine 416, which uses these results 428 to generate the displaycontent. Further, the geo-fence system 408 can send the display contentto the client 406, display devices 430, 432, or any combination ofthese.

For instance, the RFID antenna 404 scans RFID tags within a particularradius. In this example, the RFID antenna 404 can scan all of the RFIDtags associated with products based on a predetermined radius, e.g., aradius that corresponds to products in section 418 of the location 402(e.g., products 434-440). In some examples, the RFID antenna 404 mayinclude a linear polarization, circular polarization, monostaticcircular, bistatic circular, dipole, crossed dipoles, helix, patch,loop, one-turn, multi-turn, decibel (dB), low frequency (LF), highfrequency (HF), ultra-high frequency (UHF), active, passive,batter-assisted passive (BAP), or any other suitable type of RFIDantenna.

In some examples, an overall size or footprint of the section 418 may bebased on a capability of the RFID antenna 404. For example, the overallsize of the section 418 may be selected according to a RFID range (e.g.,a maximum read or scan distance) associated with the RFID antenna 404.In one example, the RFID antenna 404 may include a UHF antenna that iscapable of scanning, e.g., 50 tags/second for a 3-5 meter radius aroundthe RFID antenna 404. Further, while the example system 400 shows asingle RFID antenna 404, any suitable number of RFID antennas 404 may bestrategically placed in section 418 to ensure sufficient coverage andreception of signals from the all of the RFID tags.

In this example, the RFID antenna 404 scans the products in section 418based on an electrical signal from the geo-fence system 408. Forexample, the RFID antenna 404 receives the electrical signal from thegeo-fence system 408, which triggers an electromagnetic interrogationpulse that scans all of the products in the section 418 (e.g., usingRFID tags associated with each of the products 434-440). In someexamples, after an initial scan, the RFID antenna 404 may scan for theRFID tags cyclically. For example, the RFID antenna may poll nearbyinventory items by scanning for RFID tags intermittently, e.g., based ona predetermined interval, time duration, loop. The RFID antenna 404transmits digital data that includes the scanned RFID tags to thegeo-fence system 408.

In this example, the geo-fence system 408 receives the RFID tags fromRFID antenna 404 and uses the analytics engine 410 to determine the topproducts 422 based on the RFID tags scanned by the RFID antenna 404. Forexample, the analytics engine 410 determines that the RFID tags includesa number of similar products included in products 434-440. Further, theanalytics engine 410 can generate inventory information, for example, bycounting and compiling a list of products for each subsection of thesection 418.

For example, the analytics engine 410 determines the inventoryinformation for a subsection corresponding to products 434 that includesa number RFID tags for 20 A inventory items (e.g., twenty occurrences ofa RFID tag that is associate with an “A” product and/or inventory item)and 18 B inventory items (e.g., eighteen occurrences of a RFID tag thatis associate with an “B” product and/or inventory item). Similarly, theanalytics engine 410 determines a subsection corresponding to products436 includes 11 F, 3 G, and 1 Y inventory items. Likewise, the analyticsengine 410 determines that products 438 include 15 H, 13 I, and 2 Zinventory items, and products 440 include 5 C, 4 D, and 5 E inventoryitems. Each of these letters may correspond to an inventory item.

In some examples, each inventory item may be associated with aparticular product or a type of a product. In other examples, analyticsengine 410 may determine a number of items other than inventory items.For example, the analytics engine 410 may determine the items for RFIDtags that includes forms of identification (e.g., an animal implant, bibfor a participant in a running event, or conference attendee badge). Insome examples, the analytics engine 410 determines items that includekeycards (e.g., for a hotel, casino, room, lock, or another type ofaccess control keycard).

Returning to the example system 400, the analytics engine 410 determinesthe top products 422 using an overall count of the inventory items. Forexample, the analytics engine 410 determines a total quantity for eachinventory item, e.g., A-I, Y, and Z, in section 418. The analyticsengine 410 sorts the quantified inventory items in a descending order,selecting a top 5 to generate top products 422, e.g., using scannedinventory items in section 418. The analytics engine 410 may select atop 1, 2, 3, 10, 20, or another suitable number of top products.

In some examples, the analytics engine 410 may select the top products422 based on another sorting technique. For example, the top products422 may be sorted in an ascending order (e.g., to advertise, reduce, oreliminate clearance inventory items). Further, the top products 422 maybe compiled based on a parameter other than an inventory count. Forexample, the top products 422 may be determined using parameters such asdemand, procurement costs, cycle times, ordering fees, inventorycarrying costs, stock out levels, stock out costs, profit margins,revenue values, profit margins, etc. The analytics engine 410 providesthe inventory information and top products 422 to the personalizationengine 414.

In this example, the web API 412 retrieves campaigns 424 and rules 426from a remote server (e.g., asset management server 224). In someexamples, the web API 412 can retrieve campaigns 424 and rules 426 froma local marketing database or system (e.g., marketing campaign database220 or marketing system 222, respectively). Once obtained, the web API412 provides the campaigns 424 and rules 426 to the personalizationengine 414.

The personalization engine 414 receives the inventory information andtop products 422 from the analytics engine 410 and the campaigns 424 andrules 426 from the web API 412. The personalization engine 414 candetermine the results 428 based on the inventory information, topproducts 422, campaigns 424, rules 426, or a combination of these. Inthis example, the personalization engine 414 determines the results 428by applying the rules 426 to the campaigns 424 based on the top products422. The campaigns 424 may include a marketing campaign, event campaign,seasonal campaign, another type of campaign, etc. In some examples, thepersonalization engine 414 can automatically determine the results 428,e.g., using AEM software.

In this example, the personalization engine 414 identifies six campaigns424 that may be used to generate display content. Each of the sixcampaigns 424 includes one or more products. For example, campaign 1includes products A and B, campaign 2 includes products C and E,campaign 3 includes products D and E, campaign 4 includes products F andG, campaign 5 includes product H, and campaign 6 includes product I. Thepersonalization engine 414 uses top products 422 to determine whichrules 426 apply to campaigns 424.

The personalization engine 414 applies the rules 426 in sequentialorder. For example, the personalization engine 414 uses the number oftop products 422 to determine whether each rule applies in the orderthey appear in FIG. 4 . To do so, the personalization engine 414 uses anumber of A and B products from the top products 422 to determinewhether to apply the first rule (e.g., “A>10|B>10⇒Campaign 1”).

For example, for the first rule to apply, personalization engine 414must determine that either a number of A inventory items is greater than10 or a number of B inventory items is greater than 10. Here, thepersonalization engine 414 determines the number of A inventory items isgreater than 10 and the number of B inventory items is greater than 10.Since the first rule would be satisfied if either A or B inventory itemshave a quantity greater than 10, the personalization engine 414determines campaign 1 should be included in the results 428.

Next, the personalization engine 414 determines whether a second ruleapplies, e.g., based on whether a number of H inventory items (e.g., 15)is greater than a number I inventory items (e.g., 13). Since the numberof H inventory items is greater than the number of I inventory items,the personalization engine 414 determines the second rule applies andcampaign 5 should be included in the results 428.

The personalization engine 414 also determines the remaining rules donot apply to the top products 422. For example, the personalizationengine 414 determines a third rule is an inverse of the second rule.Because the second rule applies to the top products 422, the inverse ofthe second rule (i.e., the third rule) cannot also apply. In addition,personalization engine 414 determines the top products 422 do notinclude C or D inventory items. While products 440 include a quantity of5 C inventory items, which appears to invoke a fourth rule that statesif a number of C inventory items is greater than or equal to 5, thencampaign 2 should be included in the results 428 (e.g., “C≥5⇒Campaign2”). But in this example, the personalization engine 414 excludescampaign 2 from the results 428 because the top products 422 onlyincludes the top 5 products in section 418, which does not include Cinventory items.

Advantageously, it may be desirable for personalization engine 414 todetermine top products 422 using a limited number of inventory items(e.g., a top 5 products from an inventory count). By limiting the topproducts 422 to 5, personalization engine 414 can ensure a presence of asingle item, a few misplaced items, or otherwise erroneously presentitem(s) does not cause an inappropriate or mistaken change to selecteddisplay content. Once determined, the personalization engine 414 sendsresults 428 to content generation engine 416.

The content generation engine 416 receives the results 428, whichincludes campaign 1 and campaign 5. The content generation engine 416generates display content based on the results 428. For example, thecontent generation engine 416 can obtain the display content from alocal marketing database or system (e.g., marketing campaign database220 or marketing system 222, respectively). In some examples, thecontent generation engine 416 can obtain the display content from aremote location (e.g., asset management server 224). Once obtained, thecontent generation engine 416 can generate the display content. In thisexample, the content generation engine 416 can generates display contentthat includes products A, B, and H based on a presence of the campaigns1 and 5 among the results 428.

In some examples, the content generation engine 416 automaticallygenerates display content based on the results 428, e.g., using AEMsoftware. For instance, the content generation engine 416 can execute anAEM Screens application that includes data-triggered channels based onone or more predefined conditions. Further, these predefined conditionscan trigger playback of the display content, e.g., on display devices430, 432. The data-triggered channels may include images or videos thatmay be pre-authored or authored using, e.g., a template, existingcontent, initial content, layout, structure, etc. Further,data-triggered channels may be triggered by predefined conditions suchas a time of day, marketing campaign, inventory information, userinteractions, etc. In this example, the content generation engine 416sends the display content to the display devices 430, 432.

In some examples, the content generation engine 416 may also send thedisplay content to a client device 406. For example, the RFID antenna404 may scan a presence of the client device 406, e.g., based on a RFIDor NFC tag (e.g., a NFC Type 5 Tag) that is associated with clientdevice 406. The content generation engine 416 may determine the clientdevice 406 is associated with a particular end user based on the RFID orNFC tag. For example, the content generation engine 416 can determinethe presence of the client device 406 is associated with a user profile.To do so, the content generation engine 416 may query a user database(e.g., user database 218) to determine whether the client device 406 isassociated with a user profile.

In some examples, the content generation engine 416 determines the userprofile associated with the client device 406 includes user preferencesfor one or more products. In one example, the content generation engine416 determines the user preferences are related to one or more productsrelated to a product included in either of the campaigns 1 or 5. In thisexample, the content generation engine 416 determines the userpreferences are related to products A and B. In response, the contentgeneration engine 416 may generate personalized display content for theend user. Further, the personalized display content may include campaign1 and exclude campaign 5 based on the user preferences.

In some examples, the content generation engine 416 may be in electricalcommunication with the client device 406. The content generation engine416 can send the personalized display content to the client 406.Further, the content generation engine 416 may determine the end user isnearby, adjacent to, in proximity to, or otherwise in the vicinity ofdisplay device 432. And in some examples, the content generation engine416 may send the personalized display content to the display device 432.Further, the content generation engine 416 can send the personalizeddisplay content to the client device 406, display device 432, anotherclient device, etc., or a combination of these.

In some examples, the personalized display content may include anotification. The notification may include a particular product that isa sale item|, clearance item, low stock item. For instance, the contentgeneration engine 416 may generate personalized display content thatincludes a notification based on the user profile. In some examples, theuser profile may include an end user's browsing history, purchasehistory, or other activity data. Further, the notification may include aproduct that is similar to a product that the end user recentlypurchased, frequently purchased, previously researched, etc. In someexamples, the geo-fence system 408 may protect the end user's privacy,for example, by sending personalized display content to the clientdevice 406 (e.g., a smart watch) and not to either display device 430,432.

In one example, a user enters a retail store (e.g. location 402), whichincludes the geo-fence system 408 described above. In this example, thedisplays 430 and 432 include digital signage that is currently runningdisplay content that includes advertisements for winter clothing itemsand accessories. Further, the display content includes a video ad forred winter coats based on previous inventory information indicating alarge quantity of red winter coats. But in this example, the geo-fencesystem 408 detects a presence of the user based on a signal from theclient device 406 (e.g., indicating a presence of the client device406). Further, the geo-fence system 408 obtains user preferences basedon the presence of the client device 406.

For instance, the geo-fence system 408 can use the user preferences todetermine that the user prefers a particular color winter coat, e.g.,blue winter coats. This user preference may be derived from a user'sprofile, browsing history, purchase history, or other activity data. Inresponse to the presence of the user, the geo-fence system 408 cangenerate personalized display (e.g., a replacement video ad) with bluewinter coats and accessories that replaces the video ad for red wintercoats being output on display 430, 432, or both. In some examples, theuser preferences may indicate preferences for a type of clothing item(e.g., sweaters, shirts, dresses, pants, etc.), gendered clothing (e.g.,gender-neutral clothing, women's clothing, menswear, etc.), or anothercategory of clothing item (e.g., athletic wear, athleisure wear, casualattire, dress clothing, formalwear, etc.). Further, the geo-fence system408 can send the personalized display content to client device 406 usingany of the techniques described herein.

In some examples, the inventory item may be associated with a bib numberat a running event. For example, the bib may include a RFID tag and aRFID antenna 404 may be located in proximity to one or more sections ofa race. For example, the RFID antenna 404 may be located near a startline, mileage marker, finish line, etc. Further, the inventory items maybe used to determine an amount of progress, finish time, or item ofinterest.

For example, the RFID antenna 404 may scan that a runner finished amarathon. In response, the geo-fence system 408 can generate displaycontent. Further, the display content may be a personalized displaycontent with a notification message that includes, e.g., acongratulatory message with the user's name. In some examples, thenotification message may include an advertisement, e.g., for amerchandiser. Further the merchandiser may related to the running eventand include advertisements, such as beverages, athletic wear, runningshoes, training equipment, etc. The notification message can be sent bygeo-fence system 408 to client device 406, which may include, e.g., asmart watch, cell phone, or other mobile device.

In some examples, the inventory item may be associated with a specialevent. For example, the special event may require a badge or keycardthat includes a RFID tag. For example, and a RFID antenna 404 may belocated in proximity to one or more sections of the special event. Forexample, the special event may be located at a hotel or a casino and mayinclude RFID antenna 404 near an entrance or exit. In one example, theinventory items may be associated with a badge that is used at aconference.

For example, an attendee of a comic book convention may receive messagesor display content related to an agenda, different rooms, floors,events, appearances, etc., or a combination of these. Further, theattendee may receive personalized content based on a user profile orpreference. For instance, the attendee may receive personalized displaycontent that directs the attendee to one or more inventory items such asart displays, collectibles (e.g., action figures, toys, vintage comicbooks, comic book memorabilia, etc.), brands (e.g., Marvel Comics,™ DCComics,™ Capcom,™ etc.), actors, comic book series or characters,robotics, photographs, autographs, costumes, books, etc.

In some examples, a “high roller” (e.g., a customer with spendingparameters associated with their purchase history) may be able to gainaccess to certain rooms, floors, events, and the like based on RFID taginformation associated with a RFID tag in their hotel keycard. Further,in some examples, an end user at the special event may use RFID taginformation associated with their client device 406 in place of a badgeor a keycard. For example, the end user may be a registered conferenceattendee, guest at the hotel, customer of the casino, etc. As part ofthe registration, the end user may use the RFID tag informationassociated with their client device 406 to create a user profile. Thegeo-fence system 408 can use the user profile to generate and senddisplay content to client device 406 according to any of the techniquesdiscussed herein.

FIG. 5 depicts yet another example of a computing environment 500 forproviding display content using RFID tags in geo-fenced zones, accordingto certain aspects of this disclosure. In this example, the computingenvironment 500 includes a location 502 that is similar to the location402 of computing environment 400. For example, location 502 includes aRFID antenna 504, client device 506, geo-fence system 508, analyticsengine 510, web API 512, personalization engine 514, content generationengine 516, adjacent sections 518 and 520. Further, a client device 506is present in the section 518 and is in the vicinity of the RFID antenna504, display devices 530, 532, products 534, 536, and 480. The RFIDantenna 504, client device 506, and display devices 530, 532 are inelectrical communication with the geo-fence system 508. In someexamples, the components shown in computing environment 500 may includesubstantially similar capabilities to those described above with respectto like components shown in FIG. 4 . But in this example, the geo-fencesystem 508 determines results 528 based on a change in top products 522,campaigns 524, and rules 526. The geo-fence system 508 determines theresults 528 based on a relocation of products 538 to section 520.

In this example, the geo-fence system 508 determines top products 522and uses the top products 522, campaigns 524, and rules 526 to determinedisplay content. For example, the geo-fence system 508 determinesresults 528 based on a change in the top products 522 that occurs whenthe products 538 are relocated to section 520. In some examples,geo-fence system 508 scans the location 502 periodically (e.g., atpredetermined intervals or time durations), e.g., by sending anelectrical signal to the RFID antenna 504. In this example, the RFIDantenna 504 scans all of the RFID tags in the section 518 (e.g.,associated with products 534, 536, and 540) and transmits the scannedRFID tags to the analytics engine 510.

The analytics engine 510 receives the RFID tags from RFID antenna 504and determines the top products 522. In this example, the analyticsengine 510 determines a change in products in section 518 based on acomparison between past inventory information and received RFID tags.For example, the analytics engine 510 determines the RFID tags no longerinclude products 538. Further, the analytics engine 510 may update theinventory information based on the products still present in section 518(e.g., products 534, 536, and 540).

As described above, the analytics engine 510 determines the inventoryinformation for subsections corresponding to the remaining products 534,536, 540. In this example, the analytics engine 510 determines products534 includes 20 A and 18 B inventory items, products 536 includes 11 F,3 G, and 1 Y inventory items, and products 440 include 5 C, 4 D, and 5 Einventory items. Further, the analytics engine 510 determines each ofthe counts for products 534, 536, 540 are the same as the past inventoryinformation (e.g., each of the counts for the inventory items forproducts 534, 536, 540 are the same as the counts for the inventoryitems for products 436, 440). Thus, the analytics engine 510 determinesthere is no update required for the inventory information associatedwith the scanned products 534, 536, 540.

In this example, the analytics engine 510 also determines products 538previously included 15 H, 13 I, and 2 Z inventory items (e.g., based ona scan of products 438). In response to the change in inventory items,analytics engine 510 updates inventory information and the top products522. For example, analytics engine 510 determines the top products 522using an overall count of the inventory items and sorts the quantifiedinventory items in descending order and selects top products 522 (e.g.,the top 5 products based on a descending order of quantity from greatestquantity to the smallest quantity). The analytics engine 510 providesthe inventory information and top products 522 to personalization engine514.

In parallel, web API 512 retrieves campaigns 524 and rules 526 from aremote server. The web API 512 provides campaigns 524 and rules 526 tothe personalization engine 514. The personalization engine 514 receivesthe inventory information and top products 522 from the analytics engine510. Further, the personalization engine 514 receives campaigns 524 andrules 526 from the web API 512. The personalization engine 514 uses topproducts 522 to determine which of the five rules 526 to apply to thesix campaigns 524, e.g., by analyzing whether each rule applies in asequential order of appearance (e.g., from top to bottom).

For example, the personalization engine 514 uses a number of A and Binventory items, from the top products 522, to determine the number of Ainventory items and number of B inventory items are both greater than10, so the first rule still applies and campaign 1 should still beincluded in results 528. But in this example, the personalization engine514 determines the rules 526 include a second rule and third rule thatdo not apply. For example, the personalization engine 514 determinesneither the second nor the third rule applies because neither Hinventory items nor I inventory items are present among the top products522.

The personalization engine 514 determines whether a fourth rule of therules 526 applies. For example, personalization engine 514 determines Cinventory items are eligible as candidate products because of theirinclusion in the top products 522. Since C inventory items are presentamong the top products 522, and a quantity of 5 C inventory items isgreater than or equal to 5, the personalization engine 514 determinesthe fourth rule now applies. Thus, the personalization engine 514determines campaign 2 should now be included in the results 528.

Similarly, the personalization engine 514 determines a fifth rulerelated to D inventory items. In this example, D inventory items, like Cinventory items, now represent eligible candidate products because oftheir inclusion in top products 522. However, the fifth rule requires anumber of D inventory items to be greater than or equal to 5, and thereare only 4 D inventory items. Thus, the personalization engine 514determines campaign 3 should not be included in the results 528. Onceall of the rules 526 have been completed (e.g., analyzed), thepersonalization engine 514 sends the results 528 to content generationengine 516.

The content generation engine 416 receives the results 528 from thepersonalization engine 514. In this example, the results 528 includescampaign 1 and campaign 2. The content generation engine 516 generatesnew display content based on the change in the results 528 from the pastresults (e.g., results 428). For example, the content generation engine516 can replace display content associated with campaign 5 (e.g.,related to H inventory items) with newly added campaign 2 that includesdisplay content related to C inventory items.

In this example, the content generation engine 516 generates and sendsthe display content to the display devices 530, 532 based on the results528. The content generation engine 516 may also send the display contentto client device 506. For example, the geo-fence system 508 maydetermine a presence of an end user using any of the techniquesdescribed herein. The content generation engine 516 can sendpersonalized display content to client device 506 based on userpreferences. The personalized display content may include a usernotification.

Examples Process for Providing Content Using RFID Tags in Geo-FencedZones

FIG. 6 depicts an example process 600 for providing display contentusing RFID tags in geo-fenced zones, according to certain aspects ofthis disclosure. One or more operations described with respect to FIG. 6can be used to implement a step for generating a message that include asubset of scanned items based on a criterion. In some aspects, one ormore computing devices implement operations depicted in FIG. 6 byexecuting suitable program code (e.g., the geo-fence system 208, one ormore of the engines depicted in FIG. 2 , etc.). For illustrativepurposes, the process 600 is described with reference to certainexamples depicted in the figures. Other implementations, however, arepossible.

At block 602, the process 600 involves scanning RFID tags thatcorrespond to items in a geo-fenced zone. For example, the geo-fencesystem 208 receives data from a RFID antenna that strategically placedin a location based on a predetermined radius. The RFID antenna scansRFID tags associated with items within the predetermined radius. In someexamples, the RFID antenna may include a dipole, helix, loop,multi-turn, dB, LF, HF, UHF, active, passive, BAP, or another suitabletype of RFID antenna. In some examples, the RFID antenna scans the itemsbased on an electrical signal from the geo-fence system 208.

For example, the geo-fence system 208 can use RFID reader 232 to sendthe electrical signal to the RFID antenna. The electrical signaltriggers an electromagnetic interrogation pulse that scans all of theitems. In one example, the RFID antenna includes a UHF antenna andtransmits data, including the RFID tags, to RFID reader 232. The RFIDreader 232 receives the RFID tags from the RFID antenna and reads orscans all of the RFID tags for each of the items. In some examples, theRFID antenna can scan RFID tags according to any of the techniquesdescribed herein.

At block 604, the process 600 involves determining inventory informationfor the items based on the RFID tags. For example, the analytics engine210 obtains the RFID tags from the RFID reader 232 and determinesinventory information for the items, e.g., based on the RFID tags fromblock 602. The analytics engine 210 may determine a count of like itemsbased on one or more features associated with their RFID tags. Theanalytics engine 210 compiles the count of the items as inventoryinformation.

In some examples, the analytics engine 210 may determine a number ofitems other than inventory items. The analytics engine 210 may determineinventory items such as forms of identification, keycards, electronicdevices, other consumer goods, etc., or a combination of these. Further,the analytics engine 210 can generate inventory information using any ofthe techniques described herein. In some examples, the analytics engine210 can report the inventory information to the web API 212,personalization engine 214, content generation unit 216, assetmanagement server 224, another system component, etc.

At block 606, the process 600 involves retrieving a marketing campaignassociated with the items that includes rules based on inventoryinformation. In this example, the web API 212 receives inventoryinformation from the analytics engine 210. The web API 212 may determineany suitable number of top items based on the inventory information. Forexample, the web API 212 may retrieve the marketing campaign based on atop 5 items. The web API 212 retrieves the marketing campaign frommarketing campaign database 220 and sends the marketing campaign to thepersonalization engine 214.

At block 608, the process 600 involves selecting an item from among theitems based on a rule associated with the marketing campaign that isbased on the inventory information. The personalization engine 214determines the current display content output to the display device 230does not include the marketing campaign received from the web API 212.For example, the personalization engine 214 may determine the currentdisplay content does not include a top 5 item. In response, thepersonalization engine 214 determines the display content should bechanged and sends instructions to content generation engine 216.

In some examples, the personalization engine 214 determines the top 5items based on the RFID tags, e.g., based on inventory information(e.g., a top 5 items derived from a number of occurrences of scanneditems). The personalization engine 214 can use a marketing campaignsthat is associated with a set of rules to determine the instructions. Insome examples, the personalization engine 214 determines a set ofresults based on inventory information, the top 5 items, marketingcampaigns, the set of rules, etc., or a combination of these. In thisexample, the personalization engine 214 determines an item (e.g., aresult) by applying the set of rules to the marketing campaigns (e.g.,using the top 5 items). Once selected, the personalization engine 214sends the selected item to content generation engine 216.

At block 610, the process 600 involves generating display content basedon the item. The marketing system 222 can use the selected item fromblock 608 to generate the display content. For example, the contentgeneration engine 216 receives the instructions to change the displaycontent from the personalization engine 214, e.g., to include morerelevant display content. Relevance may be based on top items, inventoryinformation, marketing campaigns, campaign rules, user profiles orpreferences, etc. The content generation engine 216 may determine anarrangement of display content based on relevance. Further, the contentgeneration engine 216 can generate display content using any techniquesdescribed herein.

At block 612, the process 600 involves transmitting the display contentto a display device. For example, the geo-fence system 208 can send thedisplay content to the display device 230. The geo-fence system 208 isin electrical communication with the display device 230. Further, thegeo-fence system 208 uses content generation engine 216 to send thedisplay content to the display device 230. In some examples, the contentgeneration engine 216 may also send the display content to client device206. Further, the display content sent to the client device 206 may alsoinclude a user notification.

FIG. 7 depicts an example process 700 for providing display contentusing RFID tags in geo-fenced zones, according to certain aspects ofthis disclosure. One or more operations described with respect to FIG. 7can be used to implement a step for generating a message that include asubset of scanned items based on a criterion. In some aspects, one ormore computing devices implement operations depicted in FIG. 7 byexecuting suitable program code (e.g., the geo-fence system 208, one ormore of the engines depicted in FIG. 2 , etc.). For illustrativepurposes, the process 700 is described with reference to certainexamples depicted in the figures. Other implementations, however, arepossible.

At block 702, the process 700 involves scanning first RFID tags thatcorrespond to items in a geo-fenced zone. For example, the geo-fencesystem 208 receives data from a RFID antenna that scans first RFID tagsassociated with items within the predetermined radius. In some examples,the RFID antenna scans the items based on an electrical signal from thegeo-fence system 208, which can trigger a scanning of all of the items.The RFID antenna may include a UHF antenna and transmit the first RFIDtags to RFID reader 232. The RFID reader 232 receives the first RFIDtags and reads or scans the RFID tag for each item.

At block 704, the process 700 involves determining inventory informationfor the items based on the first RFID tags. For example, the analyticsengine 210 determines inventory information for the items based on thefirst RFID tags from block 702. The analytics engine 210 determines acount of the items and generates the inventory information. Theanalytics engine 210 can generate inventory information using any of thetechniques described herein. In some examples, the analytics engine 210reports the inventory information to web API 212, personalization engine214, content generation unit 216, asset management server 224, etc.

At block 706, the process 700 involves scanning a second RFID tagassociated with a client device in the geo-fenced zone. For example, thegeo-fence system 208 may scan the location periodically (e.g., at apredetermined interval or time duration). The geo-fenced system 208 cansend an electrical signal to a RFID antenna to determine whether any endusers are in the vicinity. In one example, the RFID antenna scans apresence of client device 206 based on a second RFID tag associated withclient device 206. The RFID antenna can send RFID tag informationassociated with the second RFID tag to the RFID reader 232 using anysuitable technique described herein.

At block 708, the process 700 involves determining a user profileassociated with the client device based on the second RFID tag. Further,the analytics engine 210 receives RFID tag information associated withthe second RFID tag from the RFID antenna. The analytics engine 210 maydetermine whether the client device 206 is associated with an end user.For example, the analytics engine 210 can use the RFID tag informationassociated with the second RFID tag to query user database 218 todetermine whether the client device 206 is associated with a known userprofile (e.g., a registered or previous customer). The analytics engine210 receives a user profile from the user database 218 that isassociated with the client device 206 based on the second RFID tag. Theanalytics engine 210 determines a presence of the end user 204 and sendsthe user profile to the content generation engine 216.

At block 710, the process 700 involves selecting an item from among theitems based on the user profile. For example, the content generationengine 216 receives the user profile from analytics engine 210 thatincludes user preferences. The content generation engine 216 determineswhether the user preferences are related to any of the items associatedwith the first RFID tags. In this example, the content generation engine216 determines the user preferences are related an item from among theitems associated with the first RFID tags. In response, the contentgeneration engine 216 can modify display content or generatepersonalized display content for the end user 204, e.g., based on theuser preferences.

At block 712, the process 700 involves generating display content basedon the item. For example, the geo-fence system 208 can use contentgeneration engine 216 to generate the display content to the displaydevice 230. In some examples, the display content may include anotification. For example, the notification may include an item ofinterest to the end user 204, such as an item that is on sale, an eventnotification, or another notification. The content generation engine 216can send personalized display content to the client device 206.

At block 714, the process 700 involves transmitting the display contentto a display device. For example, the geo-fence system 208 is inelectrical communication with the display device 230. The geo-fencesystem 208 can send the display content to the display device 230 usingcontent generation engine 216. In some examples, the content generationengine 216 may also send the display content to client device 206.Further, the display content sent to the client device 206 may include anotification. In some examples, the content generation engine 216 maysend personalized display content to the client device 206.

In one example, the personalized display content may be protected by thegeo-fence system 208. For example, the content generation engine 216 canprotect the privacy of end user 204 by sending a notification of theimpending personalized display content prior to its arrival. Further,the notification may include a request for permission to send thepersonalized display content. In some examples, content generationengine 216 may not send the personalized display content unless or untila user grants permission (e.g., “accepts” the personalized displaycontent). Further, content generation engine 216 can protect the privacyof end user 204 by only sending the personalized display content toclient device 206 (e.g., and not sending the personalized displaycontent to display device 230 or another client device).

Example of a Computing System for Implementing Certain Aspects

Any suitable computing system or group of computing systems can be usedfor performing the operations described herein. For example, FIG. 8depicts an example of a computing system 800 for providing displaycontent using RFID tags in geo-fenced zones. In some aspects, thecomputing system 800 includes processing hardware 802 that executesprogram code 812, a memory device 804 that stores one or more sets ofprogram data 814 computed or used by operations in the program code 812(e.g., user information, marketing campaign information, productinformation, top product information, etc.), one or more input devices816, and one or more display devices 230 for displaying graphicalcontent generated by executing the program code 812. For illustrativepurposes, FIG. 8 depicts a single computing system on which the programcode 812 is executed, the program data 814 is stored, and the inputdevices 816 and display device 230 are present. But variousapplications, datasets, and devices described can be stored or includedacross different computing systems having devices similar to the devicesdepicted in FIG. 8 .

The depicted example of a computing system 800 includes processinghardware 802 communicatively coupled to one or more memory devices 804.The processing hardware 802 executes computer-executable program codestored in memory device 804, accesses information stored in memorydevice 804, or both. Examples of processing hardware 802 include amicroprocessor, application-specific integrated circuit (“ASIC”),field-programmable gate array (“FPGA”), or another suitable processingdevice. Processing hardware 802 can include a single processing deviceor any number of processing devices.

The memory device 804 includes any suitable non-transitorycomputer-readable medium for storing data, program code, or both. Acomputer-readable medium can include any electronic, optical, magnetic,or other storage device capable of providing a processor withcomputer-readable instructions or other program code 812. Non-limitingexamples of a computer-readable medium include a magnetic disk, memorychip, ROM, RAM, ASIC, optical storage, magnetic tape, another magneticstorage, or any other medium from which a processing device can readinstructions. Program code 812 may include processor-specificinstructions generated by a compiler or an interpreter from code writtenin any suitable computer-programming language, including, for example,C, C++, C#, Visual Basic, Java, Python, Perl, JavaScript, andActionScript.

The computing system 800 may also include a number of external orinternal devices, such as an input device 816, a display device 230, orother input or output devices. For example, the computing system 800 isshown with one or more input/output (“I/O”) interfaces 808. An I/Ointerface 808 can receive input from input devices (e.g., input device816) or provide output to output devices (e.g., display device 230). Oneor more buses 806 are also included in the computing system 800. The bus806 communicatively couples one or more components of a respective oneof the computing system 800.

The computing system 800 executes program code 812 that configures theprocessing hardware 802 to perform operations described herein. Theprogram code 812 includes, for example, analytics engine 210, Web API212, personalization engine 214, content generation engine 216, or othersuitable program code that performs one or more operations describedherein. The program code 812 may be resident in the memory device 804 orany suitable computer-readable medium and may be executed by theprocessing hardware 802 or any other suitable processor. The programcode 812 uses or generates program data 814. Examples of the programdata 814 include one or more of the user information, marketing campaigninformation, product information, top product information, locationinformation, layout information, campaigns, rules, results, etc.described herein with respect to FIGS. 1-6 .

In some aspects, the computing system 800 also includes a networkinterface device 810. The network interface device 810 includes anydevice or group of devices suitable for establishing a wired or wirelessdata connection to one or more data networks. Non-limiting examples ofthe network interface device 810 include an Ethernet network adapter, amodem, or the like. The computing system 800 is able to communicate withone or more other computing devices via a data network using the networkinterface device 810.

An input device 816 can include any device or group of devices suitablefor receiving visual, auditory, or other suitable input that controls oraffects the operations of the processing hardware 802. Non-limitingexamples of the input device 816 include a recording device,touchscreen, mouse, keyboard, microphone, video camera, separate mobilecomputing device, etc. A display device 230 can include any device orgroup of devices suitable for providing visual, auditory, or othersuitable sensory output. Non-limiting examples of the display device 230include a touchscreen, monitor, separate mobile computing device, etc.

Although FIG. 8 depicts the input device 816 and the display device 230as being local to the computing device that executes the program code812, other implementations are possible. For instance, in some aspects,one or more of the input device 816 and the display device 230 caninclude a remote client-computing device that communicates withcomputing system 800 via network interface device 810 using one or moredata networks described herein.

GENERAL CONSIDERATIONS

While the present subject matter has been described in detail withrespect to specific aspects thereof, it will be appreciated that thoseskilled in the art, upon attaining an understanding of the foregoing,may readily produce alterations to, variations of, and equivalents tosuch aspects. Numerous specific details are set forth herein to providea thorough understanding of the claimed subject matter. However, thoseskilled in the art will understand that the claimed subject matter maybe practiced without these specific details. In other instances,methods, apparatuses, or systems that would be known by one of ordinaryskill have not been described in detail so as not to obscure claimedsubject matter. Accordingly, the present disclosure has been presentedfor purposes of example rather than limitation, and does not precludethe inclusion of such modifications, variations, and/or additions to thepresent subject matter as would be readily apparent to one of ordinaryskill in the art.

Unless specifically stated otherwise, it is appreciated that throughoutthis specification discussions utilizing terms such as “processing,”“computing,” “calculating,” “determining,” and “identifying” or the likerefer to actions or processes of a computing device, such as one or morecomputers or a similar electronic computing device or devices, thatmanipulate or transform data represented as physical electronic ormagnetic quantities within memories, registers, or other informationstorage devices, transmission devices, or display devices of thecomputing platform. The use of “adapted to” or “configured to” herein ismeant as open and inclusive language that does not foreclose devicesadapted to or configured to perform additional tasks or steps.Additionally, the use of “based on” is meant to be open and inclusive,in that a process, step, calculation, or other action “based on” one ormore recited conditions or values may, in practice, be based onadditional conditions or values beyond those recited. Headings, lists,and numbering included herein are for ease of explanation only and arenot meant to be limiting.

Aspects of the methods disclosed herein may be performed in theoperation of such computing devices. The system or systems discussedherein are not limited to any particular hardware architecture orconfiguration. A computing device can include any suitable arrangementof components that provide a result conditioned on one or more inputs.Suitable computing devices include multi-purpose microprocessor-basedcomputer systems accessing stored software that programs or configuresthe computing system from a general purpose computing apparatus to aspecialized computing apparatus implementing one or more aspects of thepresent subject matter. Any suitable programming, scripting, or othertype of language or combinations of languages may be used to implementteachings contained herein in software to be used in programming orconfiguring a computing device. The order of blocks presented in theexamples above can be varied—for example, blocks can be re-ordered,combined, and/or broken into sub-blocks. Certain blocks or processes canbe performed in parallel.

The invention claimed is:
 1. A method in which one or more processingdevices performs operations comprising: detecting, using aradio-frequency identification (RFID) reader device, a client devicewithin a geo-fenced zone associated with a display device by scanning anRFID tag of the client device; identifying a user profile associatedwith the client device, the user profile identifying products ofinterest to the user; scanning, via the RFID reader device, RFID tags inthe geo-fenced zone, wherein the RFID tags correspond to and identify aplurality of items including one or more of the products of interest tothe user; retrieving a marketing campaign associated with the pluralityof items; determining inventory information for each item of theplurality of items corresponding to a number of scanned RFID tagscorresponding to each item; selecting a product of interest from amongthe plurality of items corresponding to the scanned RFID tags based on arule associated with the marketing campaign, wherein the rule is basedon the inventory information and the user profile; and generatingdisplay content for the display device corresponding to the geo-fencedzone, based on the selected product of interest.
 2. The method of claim1, wherein the inventory information comprises, for each of theplurality of items, one or more of location information, an item count,a price, or an item label.
 3. The method of claim 1, the operationsfurther comprising: transmitting the display content to a remotecomputing device; and displaying the display content on the remotecomputing device.
 4. The method of claim 1, the operations furthercomprising: determining an availability of the plurality of items basedon the inventory information; and selecting the product of interest fromamong the plurality of items further based on the availability.
 5. Themethod of claim 1, wherein the product of interest is a first item, therule is a first rule, the operations further comprising: selecting asecond item from among the plurality of items based on a second ruleassociated with the marketing campaign; and determining an arrangementof the display content based on the marketing campaign, wherein thedisplay content comprises the first item and the second item.
 6. Themethod of claim 1, the operations further comprising: determining anarrangement of the display content based on the user profile.
 7. Themethod of claim 1, wherein the user profile comprises a purchasehistory, the operations further comprising: selecting the item fromamong the plurality of items based in part on the purchase history. 8.The method of claim 1, wherein the user profile comprises a browsinghistory, the operations further comprising: determining the item is anitem of interest based on the browsing history; and generating anotification based on an availability of the item of interest, whereinthe notification includes a message that the item of interest isavailable for purchase.
 9. The method of claim 1, wherein the displaydevice displays the display content, the operations further comprising:polling the RFID tags in the geo-fenced zone at a predetermined timeinterval; determining a change in a number of the plurality of itemsbased on the polling; updating the inventory information based on thechange in the number of the plurality of items; selecting a subsequentitem of the plurality of items other than the selected product ofinterest, based on the rule associated with the marketing campaign, theupdated inventory information, and the user profile; and generatingupdated display content based on the selected subsequent item, whereinthe display device displays the updated display content.
 10. A systemcomprising: a sensor; one or more processing devices communicativelycoupled to the sensor; and a non-transitory computer-readable mediumcommunicatively coupled to the one or more processing devices andstoring instructions, wherein the one or more processing devices areconfigured to execute the instructions and thereby perform operationscomprising: receiving, from a radio-frequency identification (RFID)reader device, a notification of detection of a client device within ageo-fenced zone associated with a display device responsive to the RFIDreader device scanning an RFID tag of the client device; identifying auser profile associated with the client device, the user profileidentifying products of interest to the user; receiving RFID taginformation of RFID tags scanned by the RFID reader device, wherein theRFID tags correspond to and identify a plurality of items including oneor more of the products of interest to the user; retrieving a marketingcampaign associated with the plurality of items; determining inventoryinformation for each item of the plurality of items corresponding to anumber of scanned RFID tags corresponding to each item; selecting aproduct of interest from among the plurality of items corresponding tothe scanned RFID tags based on a rule associated with the marketingcampaign, wherein the rule is based on the inventory information and theuser profile; and generating display content for the display deviceassociated with the geo-fence zone, based on the selected product ofinterest.
 11. The system of claim 10, wherein the sensor comprises anultra-high frequency (UHF) RFID antenna.
 12. The system of claim 10, theoperations further comprising: transmitting the display content to aremote computing device; and displaying the display content on theremote computing device, wherein the remote computing device comprises awearable device or a digital sign.
 13. The system of claim 10, theoperations further comprising: determining an availability of theproduct of interest based on the inventory information; and selectingthe product of interest from among the plurality of items further basedon the availability.
 14. The system of claim 10, the operations furthercomprising: determining an arrangement of the display content based onthe user profile.
 15. The system of claim 14, wherein the user profilecomprises a browsing history the operations further comprising:determining the products of interest based on the browsing history; andgenerating a notification based on an availability of the product ofinterest, wherein the notification includes a message that the productof interest is available for purchase.
 16. The system of claim 10,wherein the display device displays the display content, the operationsfurther comprising: polling the RFID tags in the geo-fenced zone at apredetermined time interval; determining a change in a number of theplurality of items based on the polling; updating the inventoryinformation based on the change in the number of the plurality of items;selecting a subsequent item of the plurality of items other than theselected product of interest, based on the rule associated with themarketing campaign, the updated inventory information and the userprofile; and generating updated display content based on the selectedsubsequent item, wherein the display device displays the updated displaycontent.
 17. A system comprising: means for detecting, using aradio-frequency identification (RFID) reader device, a client devicewithin a geo-fenced zone associated with a display device by scanning anRFID tag of the client device; means for identifying a user profileassociated with the client device, the user profile identifying productsof interest to the user; means for scanning, via the RFID reader device,RFID tags in the geo-fenced zone, wherein the RFID tags correspond toand identify a plurality of items including one or more of the productsof interest to the user; means for retrieving a marketing campaignassociated with the plurality of items; means for determining inventoryinformation for each item of the plurality of items corresponding to anumber of scanned RFID tags corresponding to each item; means forselecting a product of interest from among the plurality of itemscorresponding to the scanned RFID tags based on a rule associated withthe marketing campaign, wherein the rule is based on the inventoryinformation and the user profile; and means for generating displaycontent for the display device associated with the geo-fence zone, basedon the selected product of interest.
 18. The system of claim 17, furthercomprising: means for determining an arrangement of the display contentbased on the user profile.
 19. The system of claim 18, wherein the userprofile comprises a browsing history, and further comprising: means fordetermining the products of interest based on the browsing history; andmeans for generating a notification based on an availability of theproduct of interest, wherein the notification includes a message thatthe product of interest is available for purchase.